home *** CD-ROM | disk | FTP | other *** search
/ Borland JBuilder 6 / jbuilder6.iso / IBM VisualAge for Java Enterprise v4.0 Retail / ivj40 / setup / IDE.Cab / F76740_BasicStatusComboBoxUI.class (.txt) < prev    next >
Encoding:
Java Class File  |  2000-04-25  |  7.2 KB  |  214 lines

  1. package com.ibm.ivb.jface.basic;
  2.  
  3. import com.ibm.ivb.jface.plaf.StatusComboBoxUI;
  4. import java.awt.Color;
  5. import java.awt.Container;
  6. import java.awt.Dimension;
  7. import java.awt.Graphics;
  8. import java.awt.Insets;
  9. import java.awt.LayoutManager;
  10. import java.beans.PropertyChangeEvent;
  11. import java.beans.PropertyChangeListener;
  12. import javax.swing.Icon;
  13. import javax.swing.JButton;
  14. import javax.swing.JComboBox;
  15. import javax.swing.JComponent;
  16. import javax.swing.KeyStroke;
  17. import javax.swing.UIManager;
  18. import javax.swing.border.Border;
  19. import javax.swing.plaf.ComponentUI;
  20. import javax.swing.plaf.basic.BasicComboBoxUI;
  21. import javax.swing.plaf.basic.ComboPopup;
  22.  
  23. public class BasicStatusComboBoxUI extends StatusComboBoxUI {
  24.    public void configureArrowButton() {
  25.       if (super.arrowButton != null) {
  26.          super.arrowButton.addKeyListener(super.keyListener);
  27.          super.arrowButton.addKeyListener(super.popupKeyListener);
  28.          super.arrowButton.addFocusListener(super.focusListener);
  29.          super.arrowButton.addMouseListener(super.popupMouseListener);
  30.          super.arrowButton.addMouseMotionListener(super.popupMouseMotionListener);
  31.       }
  32.  
  33.    }
  34.  
  35.    public void configureEditor() {
  36.       super.configureEditor();
  37.       super.editor.removeKeyListener(super.popupKeyListener);
  38.    }
  39.  
  40.    protected JButton createArrowButton() {
  41.       BasicStatusComboBoxButton var1 = new BasicStatusComboBoxButton(super.comboBox, this.createStatusComboBoxIcon(), super.comboBox.isEditable(), super.currentValuePane, super.listBox);
  42.       return var1;
  43.    }
  44.  
  45.    protected LayoutManager createLayoutManager() {
  46.       return new BasicStatusComboBoxLayoutManager(this);
  47.    }
  48.  
  49.    protected ComboPopup createPopup() {
  50.       return new BasicStatusComboPopup(super.comboBox);
  51.    }
  52.  
  53.    public PropertyChangeListener createPropertyChangeListener() {
  54.       return new StatusPropertyChangeListener(this);
  55.    }
  56.  
  57.    protected Icon createStatusComboBoxIcon() {
  58.       return new BasicStatusComboBoxIcon();
  59.    }
  60.  
  61.    public static ComponentUI createUI(JComponent var0) {
  62.       return new BasicStatusComboBoxUI();
  63.    }
  64.  
  65.    protected void editablePropertyChanged(PropertyChangeEvent var1) {
  66.       if (super.arrowButton instanceof BasicStatusComboBoxButton) {
  67.          BasicStatusComboBoxButton var2 = (BasicStatusComboBoxButton)super.arrowButton;
  68.          var2.setIconOnly(super.comboBox.isEditable());
  69.       }
  70.  
  71.    }
  72.  
  73.    void enabledPropertyChanged(PropertyChangeEvent var1) {
  74.       if (super.arrowButton instanceof BasicStatusComboBoxButton) {
  75.          super.arrowButton.repaint();
  76.       }
  77.  
  78.    }
  79.  
  80.    public Dimension getMinimumSize(JComponent var1) {
  81.       Object var2 = null;
  82.       Dimension var6;
  83.       if (!super.comboBox.isEditable() && super.arrowButton != null && super.arrowButton instanceof BasicStatusComboBoxButton) {
  84.          BasicStatusComboBoxButton var7 = (BasicStatusComboBoxButton)super.arrowButton;
  85.          Insets var8 = ((JComponent)var7).getInsets();
  86.          Insets var9 = super.comboBox.getInsets();
  87.          var6 = ((BasicComboBoxUI)this).getDisplaySize();
  88.          var6.width += var9.left + var9.right;
  89.          var6.width += var8.left + var8.right;
  90.          var6.width += var8.right + var7.getComboIcon().getIconWidth();
  91.          var6.height += var9.top + var9.bottom;
  92.          var6.height += var8.top + var8.bottom;
  93.       } else if (super.comboBox.isEditable() && super.arrowButton != null && super.editor != null) {
  94.          var6 = super.getMinimumSize(var1);
  95.          Insets var3 = super.arrowButton.getMargin();
  96.          Insets var4 = super.comboBox.getInsets();
  97.          if (super.editor instanceof JComponent) {
  98.             Insets var5 = ((JComponent)super.editor).getInsets();
  99.             var6.height += var5.top + var5.bottom;
  100.          }
  101.  
  102.          var6.height += var3.top + var3.bottom;
  103.          var6.height += var4.top + var4.bottom;
  104.       } else {
  105.          var6 = super.getMinimumSize(var1);
  106.       }
  107.  
  108.       return var6;
  109.    }
  110.  
  111.    protected void installKeyboardActions() {
  112.       super.installKeyboardActions();
  113.       JComboBox var1 = super.comboBox;
  114.       JButton var2 = super.arrowButton;
  115.       1 var3 = new 1(var1, this);
  116.       if (var2 != null) {
  117.          ((JComponent)var2).registerKeyboardAction(var3, KeyStroke.getKeyStroke(40, 0), 1);
  118.       }
  119.  
  120.       2 var4 = new 2(var1, this);
  121.       if (var2 != null) {
  122.          ((JComponent)var2).registerKeyboardAction(var4, KeyStroke.getKeyStroke(38, 8), 1);
  123.          ((JComponent)var2).registerKeyboardAction(var4, KeyStroke.getKeyStroke(40, 8), 1);
  124.       }
  125.  
  126.       3 var5 = new 3(var1, this);
  127.       if (var2 != null) {
  128.          ((JComponent)var2).registerKeyboardAction(var5, KeyStroke.getKeyStroke(38, 0), 1);
  129.       }
  130.  
  131.    }
  132.  
  133.    protected void installListeners(JComponent var1) {
  134.       super.comboBox.addItemListener(super.itemListener);
  135.       super.comboBox.addPropertyChangeListener(super.propertyChangeListener);
  136.    }
  137.  
  138.    public void installUI(JComponent var1) {
  139.       super.installUI(var1);
  140.       super.comboBox.setRequestFocusEnabled(false);
  141.       var1.setBackground((Color)UIManager.get("Panel.background"));
  142.       super.comboBox.setBorder((Border)null);
  143.    }
  144.  
  145.    public boolean isFocusTraversable() {
  146.       return false;
  147.    }
  148.  
  149.    boolean isPopupVisible() {
  150.       return super.isPopupVisible(super.comboBox);
  151.    }
  152.  
  153.    public void layoutComboBox(Container var1, BasicStatusComboBoxLayoutManager var2) {
  154.       if (super.comboBox.isEditable()) {
  155.          var2.superLayout(var1);
  156.       } else {
  157.          if (super.arrowButton != null) {
  158.             Insets var3 = super.comboBox.getInsets();
  159.             int var4 = super.comboBox.getWidth();
  160.             int var5 = super.comboBox.getHeight();
  161.             super.arrowButton.setBounds(var3.left, var3.top, var4 - (var3.left + var3.right), var5 - (var3.top + var3.bottom));
  162.          }
  163.  
  164.       }
  165.    }
  166.  
  167.    public void paint(Graphics var1, JComponent var2) {
  168.    }
  169.  
  170.    protected void removeListeners(JComponent var1) {
  171.       super.comboBox.removeItemListener(super.itemListener);
  172.       super.comboBox.removePropertyChangeListener(super.propertyChangeListener);
  173.    }
  174.  
  175.    protected void selectNextPossibleValue() {
  176.       super.selectNextPossibleValue();
  177.    }
  178.  
  179.    protected void selectPreviousPossibleValue() {
  180.       super.selectPreviousPossibleValue();
  181.    }
  182.  
  183.    public void setText(String var1) {
  184.       super.arrowButton.setText(var1);
  185.       super.arrowButton.repaint();
  186.    }
  187.  
  188.    void togglePopup() {
  189.       ((BasicComboBoxUI)this).toggleOpenClose();
  190.    }
  191.  
  192.    public void unconfigureArrowButton() {
  193.       if (super.arrowButton != null) {
  194.          super.unconfigureArrowButton();
  195.          super.arrowButton.removeKeyListener(super.keyListener);
  196.          super.arrowButton.removeKeyListener(super.popupKeyListener);
  197.          super.arrowButton.removeFocusListener(super.focusListener);
  198.       }
  199.  
  200.    }
  201.  
  202.    protected void uninstallKeyboardActions() {
  203.       super.uninstallKeyboardActions();
  204.       super.comboBox.unregisterKeyboardAction(KeyStroke.getKeyStroke(40, 0));
  205.       super.comboBox.unregisterKeyboardAction(KeyStroke.getKeyStroke(40, 8));
  206.       super.comboBox.unregisterKeyboardAction(KeyStroke.getKeyStroke(38, 0));
  207.       super.comboBox.unregisterKeyboardAction(KeyStroke.getKeyStroke(38, 8));
  208.    }
  209.  
  210.    public void uninstallUI(JComponent var1) {
  211.       super.uninstallUI(var1);
  212.    }
  213. }
  214.